package com.xbongbong.pro.constant;

import com.xbongbong.paas.enums.ConditionEnum;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import static com.xbongbong.paas.enums.ConditionEnum.DYNAMIC;
import static com.xbongbong.paas.enums.ConditionEnum.EMPTY;
import static com.xbongbong.paas.enums.ConditionEnum.EQUAL;
import static com.xbongbong.paas.enums.ConditionEnum.GREATEREQUAL;
import static com.xbongbong.paas.enums.ConditionEnum.GREATERTHAN;
import static com.xbongbong.paas.enums.ConditionEnum.LESSEQUAL;
import static com.xbongbong.paas.enums.ConditionEnum.LESSTHAN;
import static com.xbongbong.paas.enums.ConditionEnum.NOEMPTY;
import static com.xbongbong.paas.enums.ConditionEnum.NOEQUAL;
import static com.xbongbong.paas.enums.ConditionEnum.RANGE;

/**
 * 业务规则中过滤条件中逻辑运算符号
 * @author 吴峰
 * @version v1.0
 * @date 2019/12/4 15:15
 * @since v1.0
 */
@Getter
@Setter
@ToString
public class ConditionLogicConstant {

    /**
     * 时间规则：大于等于，等于，小于等于，不等于，大于，小于；
     */
    public static final String[] DATETIME = {GREATEREQUAL.getSymbol(), LESSEQUAL.getSymbol(),  LESSTHAN.getSymbol(), EQUAL.getSymbol(), NOEQUAL.getSymbol(), GREATERTHAN.getSymbol(), EMPTY.getSymbol(), NOEMPTY.getSymbol(), RANGE.getSymbol(), DYNAMIC.getSymbol()};
    /**
     * 创建时间规则：大于等于，等于，小于等于，不等于，大于，小于；
     */
    public static final String[] ADDTIME = {GREATEREQUAL.getSymbol(), LESSEQUAL.getSymbol(),  LESSTHAN.getSymbol(), EQUAL.getSymbol(), NOEQUAL.getSymbol(), GREATERTHAN.getSymbol()};
    /**
     * 更新时间规则：大于等于，等于，小于等于，不等于，大于，小于；
     */
    public static final String[] UPDATETIME = {GREATEREQUAL.getSymbol(), LESSEQUAL.getSymbol(),  LESSTHAN.getSymbol(), EQUAL.getSymbol(), NOEQUAL.getSymbol(), GREATERTHAN.getSymbol()};
    /**
     * 数据id规则：等于；
     */
    public static String[] DATAID = {ConditionEnum.EQUAL.getSymbol()};
    /**
     * 文本规则：等于，不等于；
     */
    public static final String[] TEXT = {EQUAL.getSymbol(), NOEQUAL.getSymbol()};
    /**
     * 下拉框规则：等于，不等于
     */
    public static final String[] COMBO = {EQUAL.getSymbol(), NOEQUAL.getSymbol()};

    /**
     * 下拉框规则：等于，不等于；
     */
    public static final String[] COMBO_NUM = {EQUAL.getSymbol(), NOEQUAL.getSymbol()};

    /**
     * 单选按钮：等于，不等于；
     */
    public static final String[] RADIO_GROUP = {EQUAL.getSymbol(), NOEQUAL.getSymbol()};

    /**
     * 成员多选：等于，不等于；
     */
    public static final String[] USER_GROUP = {EQUAL.getSymbol()/*, NOEQUAL.getSymbol()*/};
    /**
     * 部门多选：等于，不等于；
     */
    public static final String[] DEPT_GROUP = {EQUAL.getSymbol()/*, NOEQUAL.getSymbol()*/};
    /**
     * 成员单选：等于，不等于；
     */
    public static final String[] USER = {EQUAL.getSymbol(), NOEQUAL.getSymbol()};
    /**
     * 部门单选：等于，不等于；
     */
    public static final String[] DEPT = {EQUAL.getSymbol(), NOEQUAL.getSymbol()};

    /**
     * 地址规则/定位：等于，不等于；为空/不为空；
     */
    /**BELONG.getSymbol(), NOBELONG.getSymbol(), */
    public static final String[] ADDRESS = {EQUAL.getSymbol()/*,NOEQUAL.getSymbol()*/, EMPTY.getSymbol(), NOEMPTY.getSymbol()};

    /**
     * 多行文本：等于，不等于；
     */
    public static final String[] TEXTAREA = {EQUAL.getSymbol(), NOEQUAL.getSymbol()};

    /**
     * 数字规则：大于等于，等于，小于等于，不等于，大于，小于；
     */
    public static final String[] NUM = {GREATEREQUAL.getSymbol(), LESSEQUAL.getSymbol(),  LESSTHAN.getSymbol(), EQUAL.getSymbol(), NOEQUAL.getSymbol(), GREATERTHAN.getSymbol()};

    /**
     * 复选框规则：等于，不等于；
     */
    public static final String[] CHECKBOX_GROUP = {EQUAL.getSymbol()/*,NOEQUAL.getSymbol()*/};
    /**
     * 下拉复选框规则：等于，不等于；
     */
    public static final String[] COMBO_CHECK = {EQUAL.getSymbol()/*,NOEQUAL.getSymbol()*/};

    /**
     * 流水号规则：等于，不等于；
     */
    public static final String[] SERIALNO = {EQUAL.getSymbol(),NOEQUAL.getSymbol()};
    /**
     * 关联数据规则：等于，不等于；
     */
    public static final String[] LINK_DATA = {EQUAL.getSymbol(),NOEQUAL.getSymbol()};
    /**
     * 关联数据多选规则：等于，不等于；
     */
    public static final String[] LINK_DATA_MULTI = {EQUAL.getSymbol()};
    /**
     * 关联业务单选规则：等于，不等于；
     */
    public static final String[] LINK_BUSINESS_SINGLE = {EQUAL.getSymbol(),NOEQUAL.getSymbol()};
    /**
     * 负责人规则：等于
     */
    public static final String[] OWNERID = {EQUAL.getSymbol()};
    /**
     * 协同人规则：等于
     */
    public static final String[] COUSERID = {EQUAL.getSymbol()};
    /**
     * 创建人
     */
    public static final String[] CREATORID = {EQUAL.getSymbol()};
    /**
     * 阶段推进器规则：等于，不等于
     */
    public static final String[] STAGE_THRUSTER = {EQUAL.getSymbol(), NOEQUAL.getSymbol()};

}
